The matching process and the calculation of similarity using unstructured data such as images, audio, and sensor data take time in many cases. Hence, there is a known technology that brings efficiency to the matching process by allocating record data to a plurality of computational resources to distribute the process.
FIG. 19 is a diagram for explaining an example of the known technology. For example, if a certain query is used to match record data, there is a case where the processing time does not depend on the query but depends only on the record data. For example, if the time, in seconds, of a given frequency component in a music file is counted, the processing time depends on the length of the music. In such a case, a mixed integer programming problem is solved, and the record data is distributed to computational resources in such a manner as to make the processes substantially equal.
In the example illustrated in FIG. 19, there are record data sets 10a to 10j. The length of each record data set is assumed to be the processing time needed to process the record data set. For example, the record data sets 10a, 10b, and 10j are distributed to a first server. The record data sets 10c, 10e, 10d, and 10g are distributed to a second server. The record data sets 10i, 10f, and 10h are distributed to a third server. The record data sets 10a to 10j are distributed in this manner to enable the equalization of the processing times. These related-art examples are described, for example, in Japanese Laid-open Patent Publication No. 2013-196212, Japanese Laid-open Patent Publication No. 2007-323319, Japanese National Publication of International Patent Application No. 2009-509215, Japanese Laid-open Patent Publication No. 2011-103082, Japanese Laid-open Patent Publication No. 2001-134593.
However, the above-mentioned known technology has a problem that the time needed to execute query data is long.
In some cases, the processing time does not depend only on record data, and the processing time varies depending on a data pair of query data and record data. If, for example, query data is similar to record data, the processing time to process the record data is increased. Hence, if a plurality of sets of record data similar to query data is concentrated and arranged in a given computational resource, the processing time of the given computational resource is increased.